# -*- coding: utf-8 -*-
"""
Created on Thu Aug 17 23:27:07 2023

@author: skunk69
"""

import json

chinese_name = u'大学生学习动机问卷'
english_name = 'Learning Motivation Questionnaire of College Students'
abbreviation = 'LMQ-CS'
category = u'学习与教育量表'

outline = u"""学习动机是推动学生学习的内部动力，对学习具有启动、维持及定向作用。学习动机的性质和强度直接影响到大学生学习的方向、进度及效果。《大学生学习动机问卷》由田澜和潘伟刚于2006年编制，该问卷基于奥苏伯尔的成就动机三成分理论模型。在该问卷编制研究中，将大学生学习动机界定为“激发大学生学习的虚拟或现实理由”，涉及的主要动机成分有：满足求知需要、发展专业兴趣、提高能力、给长辈一个交代、赢得他人的认同和称赞、为就业创造条件、为社会服务、报效家乡等。"""

instruction = u"""这是一份大学生学习动机的问卷。请根据您自身与各个项目所描述情况相符合的程度，在每题后的选项（符合，有点不确定，有点不符合，比较不符合，不符合）中选择一项。答案无所谓好坏对错，请根据您的真实情况填写。"""

with open('LMQ-CS.txt','r',encoding='utf-8') as f:
    lines = f.readlines()
    f.close()

items = {}
for key,line in enumerate(lines):
    _,value = line.strip().split('）',maxsplit=1)
    items[key+1] = value.strip()

reverse_items = []
scales = [u'求职兴趣',u'能力追求',u'声誉获取',u'利他取向']
scales_items = [
    [1,8,9,16,17,18,25,26,31,33,34],# 求职兴趣
    [2,7,10,15,19,24,27,32],# 能力追求
    [3,6,11,14,20,23,28],# 声誉获取
    [4,5,12,13,21,22,29,30],# 利他取向
    ]

# check scales_items
print(f'scale length={[len(l) for l in scales_items]}')

check = []
for l in scales_items:
    check = check+l
print(f'len(check)={len(check)}')

# complementary set
check_set = {i for i in sorted(check)}^{i for i in range(1,35)}
print(f'complementary set= {check_set}')

factors = []
factors_scales = []
rating = [u'符合',u'有点不确定',u'有点不符合',u'比较不符合',u'不符合']
score_rules = list(range(5,0,-1))

contents = {
    'instruction':instruction,
    'items':items,
    'reverse_items':reverse_items,
    'scales':scales,
    'scales_items':scales_items,
    'factors':factors,
    'factors_scales':factors_scales,
    'rating':rating,
    'score_rules':score_rules       
    }

implementation = u"""《大学生学习动机问卷》属于一个自评量表。"""

reliability = u"""正式样本来自大学生群体。求知兴趣、能力追求、声誉获取和利他取向四个分量表的内部一致性α系数分别为0.8389、0.8239、0.7760和0.7719，全量表为0.9003。"""
validity = u"""在结构效度方面，采用主成分分析方法对正式样本进行多次探索性因素分析，最终确定了4个因子，分别命名为求知兴趣、能力追求、声誉获取和利他取向。相关分析显示，各分量表与总量表的相关在0.741~0.888，说明各分量表较好地反映了要测量的内容。各分量表之间的相关系数为0.233~0.548，呈中等偏低的相关，表明各因素具有一定的独立性。34个条目与各自分量表之间的相关在0.346~0.677。"""
measurements = {'reliability':reliability,'validity':validity}

interpretation = u"""求知兴趣分量表，反映大学生为了发展自己的专业兴趣、获得愉悦体验的动机水平。
能力追求分量表，反映大学生通过学习来提高自己解决问题的能力，以求将来干出一番事业、增加就业竞争力等方面的学习动机。
声誉获取分量表，反映大学生通过学习来提高自己在班上的地位和扩大自己的声誉影响的动机。
利他取向分量表，反映大学生为了对得起老师的培养，使自己将来能帮助他人和对社会做贡献的动机驱动。
求知兴趣和能力追求两维度之和为内部动机分量表的得分，声誉获取和利他取向两维度之和为外部动机分量表的得分。所有34个条目得分之和即为该量表的总分，反映了被试者学习动机的总体状况。"""

applications = u"""实际应用效果有待后续研究的证实。"""

this_scale = {
    'chinese_name':chinese_name,
    'english_name':english_name,
    'abbreviation':abbreviation,
    'category':category,
    'outline':outline,
    'contents':contents,
    'implementation':implementation,
    'measurements':measurements,
    'interpretation':interpretation,
    'applications':applications    
    }

with open(abbreviation+'.json','w+',encoding='utf-8') as f:
    json.dump(this_scale,f,indent=2,ensure_ascii=False)